#include "Projectile.h"

#define MAP_HEIGHT 256
#define MAP_WIDTH 1024
#define TILE 32
#define HIT_TIME 1000

struct Tile
{
	bool Corner;
	int DirectionIn;
	int DirectionOut;
};

class Game
{
public:
	static const std::wstring PlayerTexturePath;
	static const std::wstring EnemyTexturePath;
	static const std::wstring ProjectileTexturePath;
	static std::vector<Unit> Enemies;
	static std::vector<Tower> Towers;
	static Tower CurrentBuilding;
	static Unit Player;
	static std::vector<Projectile> Projectiles;
	static D3DEngine* Engine;
	static UINT Time, Period;
	static UINT LastClick, LastRClick;
	static UINT Wave;
	static UINT BuildingState;
	static std::vector<Sprite> Game::Floor;
	static D3DXVECTOR2 Target, TargetTile;
	static bool hasTarget;
	static int FPS, AvgFPS, Gold;

	static void init(D3DEngine*);
	static void Update(MSG, POINT);
	static void Draw();
	static void DrawHitboxes();
	static void SpawnEnemies();
};